package behaviour.gui;

import agent.GUIAgent;
import jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import jade.lang.acl.MessageTemplate;


/**
 * Comportement pour recevoir les messages relatifs aux positions des differents batiments
 *
 */
public class ReceiveInformationBehaviour extends CyclicBehaviour {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -635916234557039585L;
	
	@Override
	public void action() {
		// Matching avec les messages d'updates
		MessageTemplate mt = MessageTemplate.MatchConversationId("position-update");
		ACLMessage msg = myAgent.receive(mt);
		if(msg != null) {
			// Mise a jour
			GUIAgent agent = (GUIAgent) myAgent;
			agent.addBehaviour(new UpdateBuildingBehaviour(agent, msg.getSender(), msg.getContent()));
		}
		else
			block();
	}
}

